为什么证券型通证发行平台Polymath会选择Substrate?(全文译文)
The following article is from Substrate开发者社区 Author John Wu
本文是Polymesh采用Substrate方案构建区块链系统的全文翻译,原文首发于Substrate开发者社区,由Cdot Network CTO吴逸飞博士翻译。
在今年三月纽约的Consensus大会上,Polymath宣布已经启动了一个底层区块链的开发工作。该区块链名叫Polymesh,是一个从头开始设计的公链。该公链将赋能合规的通证化资产并改变我们对规范市场中证券的思考。
Polymath的团队在过去的9个月中兢兢业业地改善着需求,并与服务提供商一起构建了我们核心的区块链技术。我们凭借一个6人的团队,在十月末完成了第一个内部的里程碑——一个概念验证,代码库中有将近100个PR。
我们现在很激动地宣布,Polymesh是基于Parity Substrate这一优秀的框架构建的。我们的概念验证就是采用的Substrate。没错,我们已经基于这个框架开发数个月了。当然,使用任何崭新的技术都会面临许多挑战,不过整体上来说我们的体验非常好。
一、开源
我们的代码已经以GPL3的协议公开。Polymath一直都致力于开源软件开发。我们很激动地在这里揭开所有开发Polymesh所涉及到的技术面纱。
二、为什么采用Substrate
在调研阶段我们考虑了很多技术选型,包括分叉已有的区块链代码比如以太坊的Geth,从零开始构建我们自己的网络,以及使用类似Parity Substrate或Cosmos SDK的开发框架。决策过程包含了许多因素,比如技术、路线进度、契合度和社区因素。
三、模块化
Polymath专注于开发适用于规范市场、证券型通证且合规的协议已经有超过两年的时间了。我们在以太坊上已经经过了多轮迭代,在金融、监管和去中心化技术的结合领域上已经积累了足够的经验和专业度。
我们的经验表明,模块化对我们的系统架构至关重要。比如说ST20协议就是这一模块化思维的体现:新的功能特性和合规条例可以以模块的形式被轻松地添加到我们的核心基础设施中。又比如说我们为标准化而做的可交互库:不同的资产和管辖权可以只使用ERC1400中它们所关心的那些部分。
四、有前途的技术
Parity Substrate也采用了类似的模块化架构:开箱即用的Substrate包含了诸如区块产生和最终性、账户余额管理、治理以及智能合约支持等非常好用的模块库。我们在这些Substrate核心功能的基础上在基础的区块链层构建了很多金融原语模块。这些模块涉及到比如身份、规范资产、结算和其他资本市场核心功能类别等重要功能。由于框架已经提供了核心的区块链功能,我们可以专注于我们所精深的业务领域。这使得我们可以快速开发迭代并发挥我们在规范市场的经验。
由于runtime是被编译成WASM字节码的,从技术上说Substrate并不和特定的开发语言绑定。但实际上大部分Substrate的核心模块都是用了Rust语言:它是一门为内存安全、编译后大小和高性能而特化的语言。我们发现许多分布式技术或去中心化技术都采用了Rust实现,同时还有那些密码学库和底层库。我们都经验是,尽管Rust的学习曲线十分陡峭,回报却十分丰厚。编译器会在编译期间就提供强大的检查和保证,这一点能够让我们对关键软件的运行抱有更强大的信心。Substrate也采用了诸如LibP2P和WASM这些被业界广泛接受的标准。这些组件属于前沿的去中心化系统所做的选型,在诸如以太坊之类的其他区块链上它们也在被慢慢接受。使用这些组件使我们在开发Polymesh的过程中能更好的和其他工具栈交互。
长远来看,另一个基于Substrate开发的重要优势是它提供了和其他区块链互操作的潜在可能性。Parity使用Substrate开发的波卡网络,是一个能有效地让平行链(其它连接到波卡的独立链)互相通信并交换资产和状态的中继网络。虽然目前并没有计划让Polymesh成为中继链,Parity也在持续地优化和扩展和接入波卡的方案,比如说现在有转接桥和平行丝方案。我们在这方面也会持续投入精力关注和调研。
五、最终性、治理和网络升级
Polymesh并不是一个通用区块链,实际上它主要为规范市场的合规资产而生。我们在以太坊上的开发经验,以及和股东(银行、贸易行、经纪商、交易所、KYC服务提供商和托管方等)的大量讨论产生了许多核心的需求。
Substrate配备了具有确定性最终性的GRANDPA算法,而不是像比特币以太坊普遍采用的具有概率最终性的PoW算法。对于资本市场,具有T+0结算的公链会是非常大的一个优势。它也可以避免在某些主流PoW网络中可能可以追溯到长达一天前的区块重组。
另一个Substrate的强大功能是它的无分叉升级。公链的治理和分叉使很多机构在拥抱区块链时产生顾虑。毕竟有争议的分叉会带来严重的风险,也会迫使机构花费资源设立风控小组去应对这一问题。Substrate则创新地把状态转移函数(区块链的逻辑)置于整个网络的共识之下。也就是说清晰的链上治理就可以触发升级,这使得传统的升级方式得到简化。
六、社区
我们在Substrate早期阶段就开始参与。我们刚开始尝试使用Substrate的时候,1.0版才刚刚推出。而现在我们使用仍处于快速迭代阶段的2.0版本,这给我们的整合带来了不少挑战。庆幸的是,Parity团队以及Substaret社区非常接纳我们,并向我们了很多关于Substrate功能的信息。
Polymath一向扎根于区块链社区。我们出席并赞助各种主要的技术会议,参与大量黑客马拉松并加入到开源项目和运动中。Substrate有自己的社区,社区开发者都充满热情。也有很多围绕Substrate构建工具、区块链和基础设施的团队。这些都是Substrate生态的巨大优势。我们在为社区做贡献的同时也受益于社区的工作。这给我们带来了更高的效率,也让我们能够有重叠的目标和社区。
七、下一步
我们会发布更多的文章,讲述我们在构建适用于规范证券的,模块化且可扩展的区块链的道路上的尝试和其架构,我们也会更深入地发掘更多关于Polymesh和Substrate的技术话题。
关于Polymath
Polymath帮助人们更便捷地创建和管理证券型通证。平台简化了创建证券型通证的复杂技术,希望将数万亿美元级的金融证券市场带入区块链领域。